/*
    pta B1085
*/
#include<bits/stdc++.h>
using namespace std;
struct node{//每个学校的信息 
	string name;
	int s,cnt;
}temp;
map<string,int>a,b,t;//甲 乙 顶 级 
map<string,int>cnt;//学校 
vector<node>ans;
bool cmp(node a,node b){
	if(a.s==b.s){
		if(a.cnt==b.cnt)
			return a.name<b.name;
		return a.cnt<b.cnt;
	}
	return a.s>b.s;
}
int main(){
	int n;cin>>n;
	while(n--){
		string id,name;
		int score;
		cin>>id>>score>>name;
		for(int j=0;j<name.size();j++) name[j]=tolower(name[j]);
		if(id[0]=='A') a[name]+=score;
		if(id[0]=='B') b[name]+=score;
		if(id[0]=='T') t[name]+=score;
		cnt[name]++;
 	}
 	for(auto i=cnt.begin();i!=cnt.end();i++){
 		temp.name=i->first;
 		temp.s=a[temp.name]+b[temp.name]/1.5+t[temp.name]*1.5;
 		temp.cnt=i->second;
 		ans.push_back(temp);
	}
	sort(ans.begin(),ans.end(),cmp);
	cout<<ans.size()<<endl;
	int k=1;
	for(int i=0;i<ans.size();i++){
		cout<<k<<" "<<ans[i].name<<" "<<ans[i].s<<" "<<ans[i].cnt<<endl;
		if(i+1<ans.size()&&ans[i].s!=ans[i+1].s) k=i+2;
	} 
	return 0;
}